<?php
/*
 *	系统标签处理函数
 *	TagLib扩展标签处理
 *	作者：漠皓
 *	QQ:664314103
 */
 
/*	
 *  list标签格式化
 *	参数：$content 模板内容 $list  将要输出的数据，格式为二维数组
 *	返回值：$str 处理后的字符串数据
 *	用法：taglist为标签名 参数='参数值'
 *	<taglist name='name'>
 *		<li>[tag:shop_id][tag:create_time|date('Y-m-d H:i:s',###)]</li>
 *	</taglist >
 *	标签内可以使用函数，函数在字段后面用|隔开，其中###为传入值
 */
function TagLib_list($content,$list){
	
	preg_match_all('/\[tag:(.*?)\]/',$content,$arry); //读取标签
	$tag = $arry[0]; //匹配标签
	$key = $arry[1]; //标签字段
	$str='';
	for($i=0;$i<count($list);$i++)
	{
		$c = $content; //读取模板内容
		//替换标签
		foreach($tag as $k=>$v){
			//分割字符串，如果有函数那么执行函数后在输出
			$arr = explode('|',$key[$k]);
			$th = $list[$i][$arr[0]];
			if($arr[1]){
				$arr[1] = str_replace('###',$list[$i][$arr[0]],$arr[1]);
				$a = '$th'." =$arr[1]";
				eval($a.';');
			}
			$c = str_replace($v,$th,$c);
		}
		$str.=$c;
	}
	return $str;
}

/*
 *	info标签格式化
 *	参数：$key 要处理的值  $fun 从模板中传入的要执行的函数
 *	返回值：字符串
 */
function TagLib_info($key,$fun){
	//有输出值则输出
	if($key){
		//如果使用函数
		if($fun){$return  = str_replace('###',$key,$fun);}else{$return =$key;}
		//如果值不为空
		if($return){
			$str  = '<?php ';
			$str .= 'echo '.$return .';';
			$str .= ' ?>';
		}
	}
	return '1str';
}